::tpl::
<!-- target: useEngineTarget -->Engine(${engine})<!-- use: useEngine2Target() -->
<!-- target: useEngine2Target -->Engine(${engine})
<!-- target: useSimpleTarget -->
<ul>
<!-- for: ${persons} as ${person} -->
<!-- use: usePersonTarget( name = ${person.name} , email=${person.email} ) -->
<!-- /for -->
</ul>
<!-- target: useSimpleFilterTarget -->
<ul>
<!-- for: ${persons} as ${person} -->
<!-- use: usePersonTarget( name = ${person.name|use-prefix} , email=${person.email} ) -->
<!-- /for -->
</ul>
<!-- target: useSimpleFilterArgTarget --><!-- var: pre = 'halfbrain' -->
<ul>
<!-- for: ${persons} as ${person} -->
<!-- use: usePersonTarget( name = ${person.name|use-prefix( ${pre} )} , email=${person.email} ) -->
<!-- /for -->
</ul>
<!-- target: useSimpleTargetBreakLine -->
<ul>
<!-- for: ${persons} as ${person} -->
<!--
    use: usePersonTarget(
        name = ${person.name},
        email = ${person.email}
    )
-->
<!-- /for -->
</ul>
<!-- target: usePersonTarget --><li>${name}[${email}]
::tpl-dep-target::
<!-- target: useDepTarget( master = useDepMaster ) -->
<!-- block: header --><!-- use: useDepHeaderTarget() --><!--/block-->
::tpl-dep-master::
<!-- target: useDepMaster -->
<header><!-- block: header --><!--/block--></header>
<div><!-- use: useDepBodyTarget( name=${engine} ) --></div>
<!-- target: useDepBodyTarget -->${name}
<!-- target: useDepHeaderTarget -->header
::tpl-recursion::
<!-- target: useRecursionTarget --><!-- use: useRecursionMenuTarget(children=${menu}) --><!-- /target -->

<!-- target: useRecursionMenuTarget -->
<ul>
<!-- for: ${children} as ${item} -->
    <li><a href="#">${item.text}</a>
<!-- if: ${item.children} && ${item.children.length} --><!-- use: useRecursionMenuTarget(children=${item.children}) --><!-- /if -->
    </li>
<!-- /for -->
</ul>
<!-- /target -->
::data-recursion::
({
    menu: [
        {text: 'a'},
        {text: 'b', children: [
            {text: 'b1', children:[
                {text: 'b11'},
                {text: 'b12'}
            ]},
            {text: 'b2'},
            {text: 'b3'}
        ]},
        {text: 'c'}
    ]
})
::expect-useRecursionTarget::

<ul>

    <li><a href="#">a</a>

    </li>

    <li><a href="#">b</a>

<ul>

    <li><a href="#">b1</a>

<ul>

    <li><a href="#">b11</a>

    </li>

    <li><a href="#">b12</a>

    </li>

</ul>

    </li>

    <li><a href="#">b2</a>

    </li>

    <li><a href="#">b3</a>

    </li>

</ul>

    </li>

    <li><a href="#">c</a>

    </li>

</ul>

::data-persons::
[
    {name:'errorrik', email:'errorrik@gmail.com'},
    {name:'otakustay', email:'otakustay@gmail.com'}
]
::data-engine::
default
::expect-useSimpleTarget::

<ul>

<li>errorrik[errorrik@gmail.com]

<li>otakustay[otakustay@gmail.com]

</ul>

::expect-useSimpleFilterTarget::

<ul>

<li>sb-errorrik[errorrik@gmail.com]

<li>sb-otakustay[otakustay@gmail.com]

</ul>

::expect-useSimpleFilterArgTarget::

<ul>

<li>halfbrain-errorrik[errorrik@gmail.com]

<li>halfbrain-otakustay[otakustay@gmail.com]

</ul>

::expect-useEngineTarget::
Engine(default)Engine()


::expect-useDepTarget::

<header>header</header>
<div>default
</div>

::eof::
